// function greeter (a, b, c) {}
// function greeter (a: string, b: number, c: boolean) {}
// function greeter (a: string, b: number, c: boolean): string {} 函数的返回值为string类型
// function test (): void {} void 代表该函数没有返回值

// 声明式函数
// function greeter (person: string): string {
//   return 'hello' + person
// }

// 定义了变量 该变量是一个函数
// const greeter: (person: string) => string 定义了一个函数，且该函数有string类型的参数，并且函数的返回值为 string
// 此处的 =>  不是箭头函数 表示ts的函数的返回值类型
// const greeter: (person: string) => string = function (person: string): string {
//   return 'hello' + person
// }

// const greeter =  (person) => {
//   return 'hello' + person
// }

// 第一个 => 表示函数的返回值为 string
// 第二个 => 表示此处是一个函数
const a: (person: string) => string = (person: string): string => {
  return "hello" + person;
};

console.log(a("啊啊啊"));
// Argument of type 'number' is not assignable to parameter of type 'string'.
// 类型“number”的参数不能赋给类型“string”的参数
// console.log(greeter(100))
